Relational Abstract Interpretation of Higher Order Functional Programs (extended abstract)

نویسندگان

  • Patrick Cousot
  • Radhia Cousot
چکیده

Most applications of the abstract interpretation framework[2] have been for analyzing functional programs use functions on abstract values to approximate functions, thus assuming that functions may be called at all arguments. When the abstract domain is finite, this approach can easily be generalized to higher order functional languages as shown for example by [1]. In practice this leads to combinatorial explosion problems as observed, for example, in strictness analysis of higher order functional languages.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Entangled abstract domains for higher-order programs

Relational abstract domains are a cornerstone of static analysis for first-order programs. We explore challenges in generalizing relational abstract domains to higher-order program analysis. We find two reasonable, orthogonal and complementary interpretations of relational domains in a higher-order setting. The first technique, locally relational abstract domains, are relational abstract domain...

متن کامل

Automated techniques for higher-order program verification

interpretation techniques are used to derive a control-flow analysis for a simple higher-order functional language. The analysis approximates the interprocedural control-flow of both function calls and returns in the presence of first-class functions and tail-call optimization. The analysis is systematically derived by abstract interpretation of the stack-based CaEK abstract machine of Flanagan...

متن کامل

A Relational-Functional Integration for Declarative Programming

A relational-functional kernel language is introduced that integrates essential declarative constructs: logic variables and non-determinism from the relational paradigm with nested and higher-order operations from the functional paradigm. Operator deenitions usèvalued clauses', subsuming relational Horn clauses and functional (conditional or unconditional) directed equations. Their semantics co...

متن کامل

A Loop-Detecting Interpreter for Lazy, Higher-Order Programs

Interpreters that detect some forms of non-termination have a variety of applications, from abstract interpretation to partial evaluation. A simple and often used strategy is to test for a repeated state, but this cannot handle innnite values (such as rst-class functions) or unevaluated states such as arise in lazy programs. In this paper we propose using Berry and Curien's theory of sequential...

متن کامل

Model Checking via ΓCFA

We present and discuss techniques for performing and improving the model-checking of higher-order, functional programs based upon abstract interpretation [4]. We use continuation-passing-style conversion to produce an abstractable state machine, and then utilize abstract garbage collection and abstract counting [9] to indirectly prune false branches in the abstract state-to-state transition gra...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1991